template<typename _T0_>
int ExecQuery(const char* queryStr,const _T0_& t0)
{
a8::XValue args[] = {
a8::XValue(t0)};          
      return ExecQuery(formatsql(queryStr, args, sizeof(args) / sizeof(a8::XValue)).c_str());
    }

    template<typename _T0_,
typename _T1_>
int ExecQuery(const char* queryStr,const _T0_& t0,
const _T1_& t1)
{
a8::XValue args[] = {
a8::XValue(t0),
a8::XValue(t1)};          
      return ExecQuery(formatsql(queryStr, args, sizeof(args) / sizeof(a8::XValue)).c_str());
    }

    template<typename _T0_,
typename _T1_,
typename _T2_>
int ExecQuery(const char* queryStr,const _T0_& t0,
const _T1_& t1,
const _T2_& t2)
{
a8::XValue args[] = {
a8::XValue(t0),
a8::XValue(t1),
a8::XValue(t2)};          
      return ExecQuery(formatsql(queryStr, args, sizeof(args) / sizeof(a8::XValue)).c_str());
    }

    template<typename _T0_,
typename _T1_,
typename _T2_,
typename _T3_>
int ExecQuery(const char* queryStr,const _T0_& t0,
const _T1_& t1,
const _T2_& t2,
const _T3_& t3)
{
a8::XValue args[] = {
a8::XValue(t0),
a8::XValue(t1),
a8::XValue(t2),
a8::XValue(t3)};          
      return ExecQuery(formatsql(queryStr, args, sizeof(args) / sizeof(a8::XValue)).c_str());
    }

    template<typename _T0_,
typename _T1_,
typename _T2_,
typename _T3_,
typename _T4_>
int ExecQuery(const char* queryStr,const _T0_& t0,
const _T1_& t1,
const _T2_& t2,
const _T3_& t3,
const _T4_& t4)
{
a8::XValue args[] = {
a8::XValue(t0),
a8::XValue(t1),
a8::XValue(t2),
a8::XValue(t3),
a8::XValue(t4)};          
      return ExecQuery(formatsql(queryStr, args, sizeof(args) / sizeof(a8::XValue)).c_str());
    }

    template<typename _T0_,
typename _T1_,
typename _T2_,
typename _T3_,
typename _T4_,
typename _T5_>
int ExecQuery(const char* queryStr,const _T0_& t0,
const _T1_& t1,
const _T2_& t2,
const _T3_& t3,
const _T4_& t4,
const _T5_& t5)
{
a8::XValue args[] = {
a8::XValue(t0),
a8::XValue(t1),
a8::XValue(t2),
a8::XValue(t3),
a8::XValue(t4),
a8::XValue(t5)};          
      return ExecQuery(formatsql(queryStr, args, sizeof(args) / sizeof(a8::XValue)).c_str());
    }

    template<typename _T0_,
typename _T1_,
typename _T2_,
typename _T3_,
typename _T4_,
typename _T5_,
typename _T6_>
int ExecQuery(const char* queryStr,const _T0_& t0,
const _T1_& t1,
const _T2_& t2,
const _T3_& t3,
const _T4_& t4,
const _T5_& t5,
const _T6_& t6)
{
a8::XValue args[] = {
a8::XValue(t0),
a8::XValue(t1),
a8::XValue(t2),
a8::XValue(t3),
a8::XValue(t4),
a8::XValue(t5),
a8::XValue(t6)};          
      return ExecQuery(formatsql(queryStr, args, sizeof(args) / sizeof(a8::XValue)).c_str());
    }

    template<typename _T0_,
typename _T1_,
typename _T2_,
typename _T3_,
typename _T4_,
typename _T5_,
typename _T6_,
typename _T7_>
int ExecQuery(const char* queryStr,const _T0_& t0,
const _T1_& t1,
const _T2_& t2,
const _T3_& t3,
const _T4_& t4,
const _T5_& t5,
const _T6_& t6,
const _T7_& t7)
{
a8::XValue args[] = {
a8::XValue(t0),
a8::XValue(t1),
a8::XValue(t2),
a8::XValue(t3),
a8::XValue(t4),
a8::XValue(t5),
a8::XValue(t6),
a8::XValue(t7)};          
      return ExecQuery(formatsql(queryStr, args, sizeof(args) / sizeof(a8::XValue)).c_str());
    }

    template<typename _T0_,
typename _T1_,
typename _T2_,
typename _T3_,
typename _T4_,
typename _T5_,
typename _T6_,
typename _T7_,
typename _T8_>
int ExecQuery(const char* queryStr,const _T0_& t0,
const _T1_& t1,
const _T2_& t2,
const _T3_& t3,
const _T4_& t4,
const _T5_& t5,
const _T6_& t6,
const _T7_& t7,
const _T8_& t8)
{
a8::XValue args[] = {
a8::XValue(t0),
a8::XValue(t1),
a8::XValue(t2),
a8::XValue(t3),
a8::XValue(t4),
a8::XValue(t5),
a8::XValue(t6),
a8::XValue(t7),
a8::XValue(t8)};          
      return ExecQuery(formatsql(queryStr, args, sizeof(args) / sizeof(a8::XValue)).c_str());
    }

    template<typename _T0_,
typename _T1_,
typename _T2_,
typename _T3_,
typename _T4_,
typename _T5_,
typename _T6_,
typename _T7_,
typename _T8_,
typename _T9_>
int ExecQuery(const char* queryStr,const _T0_& t0,
const _T1_& t1,
const _T2_& t2,
const _T3_& t3,
const _T4_& t4,
const _T5_& t5,
const _T6_& t6,
const _T7_& t7,
const _T8_& t8,
const _T9_& t9)
{
a8::XValue args[] = {
a8::XValue(t0),
a8::XValue(t1),
a8::XValue(t2),
a8::XValue(t3),
a8::XValue(t4),
a8::XValue(t5),
a8::XValue(t6),
a8::XValue(t7),
a8::XValue(t8),
a8::XValue(t9)};          
      return ExecQuery(formatsql(queryStr, args, sizeof(args) / sizeof(a8::XValue)).c_str());
    }

    template<typename _T0_,
typename _T1_,
typename _T2_,
typename _T3_,
typename _T4_,
typename _T5_,
typename _T6_,
typename _T7_,
typename _T8_,
typename _T9_,
typename _T10_>
int ExecQuery(const char* queryStr,const _T0_& t0,
const _T1_& t1,
const _T2_& t2,
const _T3_& t3,
const _T4_& t4,
const _T5_& t5,
const _T6_& t6,
const _T7_& t7,
const _T8_& t8,
const _T9_& t9,
const _T10_& t10)
{
a8::XValue args[] = {
a8::XValue(t0),
a8::XValue(t1),
a8::XValue(t2),
a8::XValue(t3),
a8::XValue(t4),
a8::XValue(t5),
a8::XValue(t6),
a8::XValue(t7),
a8::XValue(t8),
a8::XValue(t9),
a8::XValue(t10)};          
      return ExecQuery(formatsql(queryStr, args, sizeof(args) / sizeof(a8::XValue)).c_str());
    }

    template<typename _T0_,
typename _T1_,
typename _T2_,
typename _T3_,
typename _T4_,
typename _T5_,
typename _T6_,
typename _T7_,
typename _T8_,
typename _T9_,
typename _T10_,
typename _T11_>
int ExecQuery(const char* queryStr,const _T0_& t0,
const _T1_& t1,
const _T2_& t2,
const _T3_& t3,
const _T4_& t4,
const _T5_& t5,
const _T6_& t6,
const _T7_& t7,
const _T8_& t8,
const _T9_& t9,
const _T10_& t10,
const _T11_& t11)
{
a8::XValue args[] = {
a8::XValue(t0),
a8::XValue(t1),
a8::XValue(t2),
a8::XValue(t3),
a8::XValue(t4),
a8::XValue(t5),
a8::XValue(t6),
a8::XValue(t7),
a8::XValue(t8),
a8::XValue(t9),
a8::XValue(t10),
a8::XValue(t11)};          
      return ExecQuery(formatsql(queryStr, args, sizeof(args) / sizeof(a8::XValue)).c_str());
    }

    template<typename _T0_,
typename _T1_,
typename _T2_,
typename _T3_,
typename _T4_,
typename _T5_,
typename _T6_,
typename _T7_,
typename _T8_,
typename _T9_,
typename _T10_,
typename _T11_,
typename _T12_>
int ExecQuery(const char* queryStr,const _T0_& t0,
const _T1_& t1,
const _T2_& t2,
const _T3_& t3,
const _T4_& t4,
const _T5_& t5,
const _T6_& t6,
const _T7_& t7,
const _T8_& t8,
const _T9_& t9,
const _T10_& t10,
const _T11_& t11,
const _T12_& t12)
{
a8::XValue args[] = {
a8::XValue(t0),
a8::XValue(t1),
a8::XValue(t2),
a8::XValue(t3),
a8::XValue(t4),
a8::XValue(t5),
a8::XValue(t6),
a8::XValue(t7),
a8::XValue(t8),
a8::XValue(t9),
a8::XValue(t10),
a8::XValue(t11),
a8::XValue(t12)};          
      return ExecQuery(formatsql(queryStr, args, sizeof(args) / sizeof(a8::XValue)).c_str());
    }

    template<typename _T0_,
typename _T1_,
typename _T2_,
typename _T3_,
typename _T4_,
typename _T5_,
typename _T6_,
typename _T7_,
typename _T8_,
typename _T9_,
typename _T10_,
typename _T11_,
typename _T12_,
typename _T13_>
int ExecQuery(const char* queryStr,const _T0_& t0,
const _T1_& t1,
const _T2_& t2,
const _T3_& t3,
const _T4_& t4,
const _T5_& t5,
const _T6_& t6,
const _T7_& t7,
const _T8_& t8,
const _T9_& t9,
const _T10_& t10,
const _T11_& t11,
const _T12_& t12,
const _T13_& t13)
{
a8::XValue args[] = {
a8::XValue(t0),
a8::XValue(t1),
a8::XValue(t2),
a8::XValue(t3),
a8::XValue(t4),
a8::XValue(t5),
a8::XValue(t6),
a8::XValue(t7),
a8::XValue(t8),
a8::XValue(t9),
a8::XValue(t10),
a8::XValue(t11),
a8::XValue(t12),
a8::XValue(t13)};          
      return ExecQuery(formatsql(queryStr, args, sizeof(args) / sizeof(a8::XValue)).c_str());
    }

    template<typename _T0_,
typename _T1_,
typename _T2_,
typename _T3_,
typename _T4_,
typename _T5_,
typename _T6_,
typename _T7_,
typename _T8_,
typename _T9_,
typename _T10_,
typename _T11_,
typename _T12_,
typename _T13_,
typename _T14_>
int ExecQuery(const char* queryStr,const _T0_& t0,
const _T1_& t1,
const _T2_& t2,
const _T3_& t3,
const _T4_& t4,
const _T5_& t5,
const _T6_& t6,
const _T7_& t7,
const _T8_& t8,
const _T9_& t9,
const _T10_& t10,
const _T11_& t11,
const _T12_& t12,
const _T13_& t13,
const _T14_& t14)
{
a8::XValue args[] = {
a8::XValue(t0),
a8::XValue(t1),
a8::XValue(t2),
a8::XValue(t3),
a8::XValue(t4),
a8::XValue(t5),
a8::XValue(t6),
a8::XValue(t7),
a8::XValue(t8),
a8::XValue(t9),
a8::XValue(t10),
a8::XValue(t11),
a8::XValue(t12),
a8::XValue(t13),
a8::XValue(t14)};          
      return ExecQuery(formatsql(queryStr, args, sizeof(args) / sizeof(a8::XValue)).c_str());
    }

    template<typename _T0_,
typename _T1_,
typename _T2_,
typename _T3_,
typename _T4_,
typename _T5_,
typename _T6_,
typename _T7_,
typename _T8_,
typename _T9_,
typename _T10_,
typename _T11_,
typename _T12_,
typename _T13_,
typename _T14_,
typename _T15_>
int ExecQuery(const char* queryStr,const _T0_& t0,
const _T1_& t1,
const _T2_& t2,
const _T3_& t3,
const _T4_& t4,
const _T5_& t5,
const _T6_& t6,
const _T7_& t7,
const _T8_& t8,
const _T9_& t9,
const _T10_& t10,
const _T11_& t11,
const _T12_& t12,
const _T13_& t13,
const _T14_& t14,
const _T15_& t15)
{
a8::XValue args[] = {
a8::XValue(t0),
a8::XValue(t1),
a8::XValue(t2),
a8::XValue(t3),
a8::XValue(t4),
a8::XValue(t5),
a8::XValue(t6),
a8::XValue(t7),
a8::XValue(t8),
a8::XValue(t9),
a8::XValue(t10),
a8::XValue(t11),
a8::XValue(t12),
a8::XValue(t13),
a8::XValue(t14),
a8::XValue(t15)};          
      return ExecQuery(formatsql(queryStr, args, sizeof(args) / sizeof(a8::XValue)).c_str());
    }

    template<typename _T0_,
typename _T1_,
typename _T2_,
typename _T3_,
typename _T4_,
typename _T5_,
typename _T6_,
typename _T7_,
typename _T8_,
typename _T9_,
typename _T10_,
typename _T11_,
typename _T12_,
typename _T13_,
typename _T14_,
typename _T15_,
typename _T16_>
int ExecQuery(const char* queryStr,const _T0_& t0,
const _T1_& t1,
const _T2_& t2,
const _T3_& t3,
const _T4_& t4,
const _T5_& t5,
const _T6_& t6,
const _T7_& t7,
const _T8_& t8,
const _T9_& t9,
const _T10_& t10,
const _T11_& t11,
const _T12_& t12,
const _T13_& t13,
const _T14_& t14,
const _T15_& t15,
const _T16_& t16)
{
a8::XValue args[] = {
a8::XValue(t0),
a8::XValue(t1),
a8::XValue(t2),
a8::XValue(t3),
a8::XValue(t4),
a8::XValue(t5),
a8::XValue(t6),
a8::XValue(t7),
a8::XValue(t8),
a8::XValue(t9),
a8::XValue(t10),
a8::XValue(t11),
a8::XValue(t12),
a8::XValue(t13),
a8::XValue(t14),
a8::XValue(t15),
a8::XValue(t16)};          
      return ExecQuery(formatsql(queryStr, args, sizeof(args) / sizeof(a8::XValue)).c_str());
    }

    template<typename _T0_,
typename _T1_,
typename _T2_,
typename _T3_,
typename _T4_,
typename _T5_,
typename _T6_,
typename _T7_,
typename _T8_,
typename _T9_,
typename _T10_,
typename _T11_,
typename _T12_,
typename _T13_,
typename _T14_,
typename _T15_,
typename _T16_,
typename _T17_>
int ExecQuery(const char* queryStr,const _T0_& t0,
const _T1_& t1,
const _T2_& t2,
const _T3_& t3,
const _T4_& t4,
const _T5_& t5,
const _T6_& t6,
const _T7_& t7,
const _T8_& t8,
const _T9_& t9,
const _T10_& t10,
const _T11_& t11,
const _T12_& t12,
const _T13_& t13,
const _T14_& t14,
const _T15_& t15,
const _T16_& t16,
const _T17_& t17)
{
a8::XValue args[] = {
a8::XValue(t0),
a8::XValue(t1),
a8::XValue(t2),
a8::XValue(t3),
a8::XValue(t4),
a8::XValue(t5),
a8::XValue(t6),
a8::XValue(t7),
a8::XValue(t8),
a8::XValue(t9),
a8::XValue(t10),
a8::XValue(t11),
a8::XValue(t12),
a8::XValue(t13),
a8::XValue(t14),
a8::XValue(t15),
a8::XValue(t16),
a8::XValue(t17)};          
      return ExecQuery(formatsql(queryStr, args, sizeof(args) / sizeof(a8::XValue)).c_str());
    }

    template<typename _T0_,
typename _T1_,
typename _T2_,
typename _T3_,
typename _T4_,
typename _T5_,
typename _T6_,
typename _T7_,
typename _T8_,
typename _T9_,
typename _T10_,
typename _T11_,
typename _T12_,
typename _T13_,
typename _T14_,
typename _T15_,
typename _T16_,
typename _T17_,
typename _T18_>
int ExecQuery(const char* queryStr,const _T0_& t0,
const _T1_& t1,
const _T2_& t2,
const _T3_& t3,
const _T4_& t4,
const _T5_& t5,
const _T6_& t6,
const _T7_& t7,
const _T8_& t8,
const _T9_& t9,
const _T10_& t10,
const _T11_& t11,
const _T12_& t12,
const _T13_& t13,
const _T14_& t14,
const _T15_& t15,
const _T16_& t16,
const _T17_& t17,
const _T18_& t18)
{
a8::XValue args[] = {
a8::XValue(t0),
a8::XValue(t1),
a8::XValue(t2),
a8::XValue(t3),
a8::XValue(t4),
a8::XValue(t5),
a8::XValue(t6),
a8::XValue(t7),
a8::XValue(t8),
a8::XValue(t9),
a8::XValue(t10),
a8::XValue(t11),
a8::XValue(t12),
a8::XValue(t13),
a8::XValue(t14),
a8::XValue(t15),
a8::XValue(t16),
a8::XValue(t17),
a8::XValue(t18)};          
      return ExecQuery(formatsql(queryStr, args, sizeof(args) / sizeof(a8::XValue)).c_str());
    }

    template<typename _T0_>
int ExecScript(const char* queryStr,const _T0_& t0)
{
a8::XValue args[] = {
a8::XValue(t0)};          
      return ExecScript(formatsql(queryStr, args, sizeof(args) / sizeof(a8::XValue)).c_str());
    }

    template<typename _T0_,
typename _T1_>
int ExecScript(const char* queryStr,const _T0_& t0,
const _T1_& t1)
{
a8::XValue args[] = {
a8::XValue(t0),
a8::XValue(t1)};          
      return ExecScript(formatsql(queryStr, args, sizeof(args) / sizeof(a8::XValue)).c_str());
    }

    template<typename _T0_,
typename _T1_,
typename _T2_>
int ExecScript(const char* queryStr,const _T0_& t0,
const _T1_& t1,
const _T2_& t2)
{
a8::XValue args[] = {
a8::XValue(t0),
a8::XValue(t1),
a8::XValue(t2)};          
      return ExecScript(formatsql(queryStr, args, sizeof(args) / sizeof(a8::XValue)).c_str());
    }

    template<typename _T0_,
typename _T1_,
typename _T2_,
typename _T3_>
int ExecScript(const char* queryStr,const _T0_& t0,
const _T1_& t1,
const _T2_& t2,
const _T3_& t3)
{
a8::XValue args[] = {
a8::XValue(t0),
a8::XValue(t1),
a8::XValue(t2),
a8::XValue(t3)};          
      return ExecScript(formatsql(queryStr, args, sizeof(args) / sizeof(a8::XValue)).c_str());
    }

    template<typename _T0_,
typename _T1_,
typename _T2_,
typename _T3_,
typename _T4_>
int ExecScript(const char* queryStr,const _T0_& t0,
const _T1_& t1,
const _T2_& t2,
const _T3_& t3,
const _T4_& t4)
{
a8::XValue args[] = {
a8::XValue(t0),
a8::XValue(t1),
a8::XValue(t2),
a8::XValue(t3),
a8::XValue(t4)};          
      return ExecScript(formatsql(queryStr, args, sizeof(args) / sizeof(a8::XValue)).c_str());
    }

    template<typename _T0_,
typename _T1_,
typename _T2_,
typename _T3_,
typename _T4_,
typename _T5_>
int ExecScript(const char* queryStr,const _T0_& t0,
const _T1_& t1,
const _T2_& t2,
const _T3_& t3,
const _T4_& t4,
const _T5_& t5)
{
a8::XValue args[] = {
a8::XValue(t0),
a8::XValue(t1),
a8::XValue(t2),
a8::XValue(t3),
a8::XValue(t4),
a8::XValue(t5)};          
      return ExecScript(formatsql(queryStr, args, sizeof(args) / sizeof(a8::XValue)).c_str());
    }

    template<typename _T0_,
typename _T1_,
typename _T2_,
typename _T3_,
typename _T4_,
typename _T5_,
typename _T6_>
int ExecScript(const char* queryStr,const _T0_& t0,
const _T1_& t1,
const _T2_& t2,
const _T3_& t3,
const _T4_& t4,
const _T5_& t5,
const _T6_& t6)
{
a8::XValue args[] = {
a8::XValue(t0),
a8::XValue(t1),
a8::XValue(t2),
a8::XValue(t3),
a8::XValue(t4),
a8::XValue(t5),
a8::XValue(t6)};          
      return ExecScript(formatsql(queryStr, args, sizeof(args) / sizeof(a8::XValue)).c_str());
    }

    template<typename _T0_,
typename _T1_,
typename _T2_,
typename _T3_,
typename _T4_,
typename _T5_,
typename _T6_,
typename _T7_>
int ExecScript(const char* queryStr,const _T0_& t0,
const _T1_& t1,
const _T2_& t2,
const _T3_& t3,
const _T4_& t4,
const _T5_& t5,
const _T6_& t6,
const _T7_& t7)
{
a8::XValue args[] = {
a8::XValue(t0),
a8::XValue(t1),
a8::XValue(t2),
a8::XValue(t3),
a8::XValue(t4),
a8::XValue(t5),
a8::XValue(t6),
a8::XValue(t7)};          
      return ExecScript(formatsql(queryStr, args, sizeof(args) / sizeof(a8::XValue)).c_str());
    }

    template<typename _T0_,
typename _T1_,
typename _T2_,
typename _T3_,
typename _T4_,
typename _T5_,
typename _T6_,
typename _T7_,
typename _T8_>
int ExecScript(const char* queryStr,const _T0_& t0,
const _T1_& t1,
const _T2_& t2,
const _T3_& t3,
const _T4_& t4,
const _T5_& t5,
const _T6_& t6,
const _T7_& t7,
const _T8_& t8)
{
a8::XValue args[] = {
a8::XValue(t0),
a8::XValue(t1),
a8::XValue(t2),
a8::XValue(t3),
a8::XValue(t4),
a8::XValue(t5),
a8::XValue(t6),
a8::XValue(t7),
a8::XValue(t8)};          
      return ExecScript(formatsql(queryStr, args, sizeof(args) / sizeof(a8::XValue)).c_str());
    }

    template<typename _T0_,
typename _T1_,
typename _T2_,
typename _T3_,
typename _T4_,
typename _T5_,
typename _T6_,
typename _T7_,
typename _T8_,
typename _T9_>
int ExecScript(const char* queryStr,const _T0_& t0,
const _T1_& t1,
const _T2_& t2,
const _T3_& t3,
const _T4_& t4,
const _T5_& t5,
const _T6_& t6,
const _T7_& t7,
const _T8_& t8,
const _T9_& t9)
{
a8::XValue args[] = {
a8::XValue(t0),
a8::XValue(t1),
a8::XValue(t2),
a8::XValue(t3),
a8::XValue(t4),
a8::XValue(t5),
a8::XValue(t6),
a8::XValue(t7),
a8::XValue(t8),
a8::XValue(t9)};          
      return ExecScript(formatsql(queryStr, args, sizeof(args) / sizeof(a8::XValue)).c_str());
    }

    template<typename _T0_,
typename _T1_,
typename _T2_,
typename _T3_,
typename _T4_,
typename _T5_,
typename _T6_,
typename _T7_,
typename _T8_,
typename _T9_,
typename _T10_>
int ExecScript(const char* queryStr,const _T0_& t0,
const _T1_& t1,
const _T2_& t2,
const _T3_& t3,
const _T4_& t4,
const _T5_& t5,
const _T6_& t6,
const _T7_& t7,
const _T8_& t8,
const _T9_& t9,
const _T10_& t10)
{
a8::XValue args[] = {
a8::XValue(t0),
a8::XValue(t1),
a8::XValue(t2),
a8::XValue(t3),
a8::XValue(t4),
a8::XValue(t5),
a8::XValue(t6),
a8::XValue(t7),
a8::XValue(t8),
a8::XValue(t9),
a8::XValue(t10)};          
      return ExecScript(formatsql(queryStr, args, sizeof(args) / sizeof(a8::XValue)).c_str());
    }

    template<typename _T0_,
typename _T1_,
typename _T2_,
typename _T3_,
typename _T4_,
typename _T5_,
typename _T6_,
typename _T7_,
typename _T8_,
typename _T9_,
typename _T10_,
typename _T11_>
int ExecScript(const char* queryStr,const _T0_& t0,
const _T1_& t1,
const _T2_& t2,
const _T3_& t3,
const _T4_& t4,
const _T5_& t5,
const _T6_& t6,
const _T7_& t7,
const _T8_& t8,
const _T9_& t9,
const _T10_& t10,
const _T11_& t11)
{
a8::XValue args[] = {
a8::XValue(t0),
a8::XValue(t1),
a8::XValue(t2),
a8::XValue(t3),
a8::XValue(t4),
a8::XValue(t5),
a8::XValue(t6),
a8::XValue(t7),
a8::XValue(t8),
a8::XValue(t9),
a8::XValue(t10),
a8::XValue(t11)};          
      return ExecScript(formatsql(queryStr, args, sizeof(args) / sizeof(a8::XValue)).c_str());
    }

    template<typename _T0_,
typename _T1_,
typename _T2_,
typename _T3_,
typename _T4_,
typename _T5_,
typename _T6_,
typename _T7_,
typename _T8_,
typename _T9_,
typename _T10_,
typename _T11_,
typename _T12_>
int ExecScript(const char* queryStr,const _T0_& t0,
const _T1_& t1,
const _T2_& t2,
const _T3_& t3,
const _T4_& t4,
const _T5_& t5,
const _T6_& t6,
const _T7_& t7,
const _T8_& t8,
const _T9_& t9,
const _T10_& t10,
const _T11_& t11,
const _T12_& t12)
{
a8::XValue args[] = {
a8::XValue(t0),
a8::XValue(t1),
a8::XValue(t2),
a8::XValue(t3),
a8::XValue(t4),
a8::XValue(t5),
a8::XValue(t6),
a8::XValue(t7),
a8::XValue(t8),
a8::XValue(t9),
a8::XValue(t10),
a8::XValue(t11),
a8::XValue(t12)};          
      return ExecScript(formatsql(queryStr, args, sizeof(args) / sizeof(a8::XValue)).c_str());
    }

    template<typename _T0_,
typename _T1_,
typename _T2_,
typename _T3_,
typename _T4_,
typename _T5_,
typename _T6_,
typename _T7_,
typename _T8_,
typename _T9_,
typename _T10_,
typename _T11_,
typename _T12_,
typename _T13_>
int ExecScript(const char* queryStr,const _T0_& t0,
const _T1_& t1,
const _T2_& t2,
const _T3_& t3,
const _T4_& t4,
const _T5_& t5,
const _T6_& t6,
const _T7_& t7,
const _T8_& t8,
const _T9_& t9,
const _T10_& t10,
const _T11_& t11,
const _T12_& t12,
const _T13_& t13)
{
a8::XValue args[] = {
a8::XValue(t0),
a8::XValue(t1),
a8::XValue(t2),
a8::XValue(t3),
a8::XValue(t4),
a8::XValue(t5),
a8::XValue(t6),
a8::XValue(t7),
a8::XValue(t8),
a8::XValue(t9),
a8::XValue(t10),
a8::XValue(t11),
a8::XValue(t12),
a8::XValue(t13)};          
      return ExecScript(formatsql(queryStr, args, sizeof(args) / sizeof(a8::XValue)).c_str());
    }

    template<typename _T0_,
typename _T1_,
typename _T2_,
typename _T3_,
typename _T4_,
typename _T5_,
typename _T6_,
typename _T7_,
typename _T8_,
typename _T9_,
typename _T10_,
typename _T11_,
typename _T12_,
typename _T13_,
typename _T14_>
int ExecScript(const char* queryStr,const _T0_& t0,
const _T1_& t1,
const _T2_& t2,
const _T3_& t3,
const _T4_& t4,
const _T5_& t5,
const _T6_& t6,
const _T7_& t7,
const _T8_& t8,
const _T9_& t9,
const _T10_& t10,
const _T11_& t11,
const _T12_& t12,
const _T13_& t13,
const _T14_& t14)
{
a8::XValue args[] = {
a8::XValue(t0),
a8::XValue(t1),
a8::XValue(t2),
a8::XValue(t3),
a8::XValue(t4),
a8::XValue(t5),
a8::XValue(t6),
a8::XValue(t7),
a8::XValue(t8),
a8::XValue(t9),
a8::XValue(t10),
a8::XValue(t11),
a8::XValue(t12),
a8::XValue(t13),
a8::XValue(t14)};          
      return ExecScript(formatsql(queryStr, args, sizeof(args) / sizeof(a8::XValue)).c_str());
    }

    template<typename _T0_,
typename _T1_,
typename _T2_,
typename _T3_,
typename _T4_,
typename _T5_,
typename _T6_,
typename _T7_,
typename _T8_,
typename _T9_,
typename _T10_,
typename _T11_,
typename _T12_,
typename _T13_,
typename _T14_,
typename _T15_>
int ExecScript(const char* queryStr,const _T0_& t0,
const _T1_& t1,
const _T2_& t2,
const _T3_& t3,
const _T4_& t4,
const _T5_& t5,
const _T6_& t6,
const _T7_& t7,
const _T8_& t8,
const _T9_& t9,
const _T10_& t10,
const _T11_& t11,
const _T12_& t12,
const _T13_& t13,
const _T14_& t14,
const _T15_& t15)
{
a8::XValue args[] = {
a8::XValue(t0),
a8::XValue(t1),
a8::XValue(t2),
a8::XValue(t3),
a8::XValue(t4),
a8::XValue(t5),
a8::XValue(t6),
a8::XValue(t7),
a8::XValue(t8),
a8::XValue(t9),
a8::XValue(t10),
a8::XValue(t11),
a8::XValue(t12),
a8::XValue(t13),
a8::XValue(t14),
a8::XValue(t15)};          
      return ExecScript(formatsql(queryStr, args, sizeof(args) / sizeof(a8::XValue)).c_str());
    }

    template<typename _T0_,
typename _T1_,
typename _T2_,
typename _T3_,
typename _T4_,
typename _T5_,
typename _T6_,
typename _T7_,
typename _T8_,
typename _T9_,
typename _T10_,
typename _T11_,
typename _T12_,
typename _T13_,
typename _T14_,
typename _T15_,
typename _T16_>
int ExecScript(const char* queryStr,const _T0_& t0,
const _T1_& t1,
const _T2_& t2,
const _T3_& t3,
const _T4_& t4,
const _T5_& t5,
const _T6_& t6,
const _T7_& t7,
const _T8_& t8,
const _T9_& t9,
const _T10_& t10,
const _T11_& t11,
const _T12_& t12,
const _T13_& t13,
const _T14_& t14,
const _T15_& t15,
const _T16_& t16)
{
a8::XValue args[] = {
a8::XValue(t0),
a8::XValue(t1),
a8::XValue(t2),
a8::XValue(t3),
a8::XValue(t4),
a8::XValue(t5),
a8::XValue(t6),
a8::XValue(t7),
a8::XValue(t8),
a8::XValue(t9),
a8::XValue(t10),
a8::XValue(t11),
a8::XValue(t12),
a8::XValue(t13),
a8::XValue(t14),
a8::XValue(t15),
a8::XValue(t16)};          
      return ExecScript(formatsql(queryStr, args, sizeof(args) / sizeof(a8::XValue)).c_str());
    }

    template<typename _T0_,
typename _T1_,
typename _T2_,
typename _T3_,
typename _T4_,
typename _T5_,
typename _T6_,
typename _T7_,
typename _T8_,
typename _T9_,
typename _T10_,
typename _T11_,
typename _T12_,
typename _T13_,
typename _T14_,
typename _T15_,
typename _T16_,
typename _T17_>
int ExecScript(const char* queryStr,const _T0_& t0,
const _T1_& t1,
const _T2_& t2,
const _T3_& t3,
const _T4_& t4,
const _T5_& t5,
const _T6_& t6,
const _T7_& t7,
const _T8_& t8,
const _T9_& t9,
const _T10_& t10,
const _T11_& t11,
const _T12_& t12,
const _T13_& t13,
const _T14_& t14,
const _T15_& t15,
const _T16_& t16,
const _T17_& t17)
{
a8::XValue args[] = {
a8::XValue(t0),
a8::XValue(t1),
a8::XValue(t2),
a8::XValue(t3),
a8::XValue(t4),
a8::XValue(t5),
a8::XValue(t6),
a8::XValue(t7),
a8::XValue(t8),
a8::XValue(t9),
a8::XValue(t10),
a8::XValue(t11),
a8::XValue(t12),
a8::XValue(t13),
a8::XValue(t14),
a8::XValue(t15),
a8::XValue(t16),
a8::XValue(t17)};          
      return ExecScript(formatsql(queryStr, args, sizeof(args) / sizeof(a8::XValue)).c_str());
    }

    template<typename _T0_,
typename _T1_,
typename _T2_,
typename _T3_,
typename _T4_,
typename _T5_,
typename _T6_,
typename _T7_,
typename _T8_,
typename _T9_,
typename _T10_,
typename _T11_,
typename _T12_,
typename _T13_,
typename _T14_,
typename _T15_,
typename _T16_,
typename _T17_,
typename _T18_>
int ExecScript(const char* queryStr,const _T0_& t0,
const _T1_& t1,
const _T2_& t2,
const _T3_& t3,
const _T4_& t4,
const _T5_& t5,
const _T6_& t6,
const _T7_& t7,
const _T8_& t8,
const _T9_& t9,
const _T10_& t10,
const _T11_& t11,
const _T12_& t12,
const _T13_& t13,
const _T14_& t14,
const _T15_& t15,
const _T16_& t16,
const _T17_& t17,
const _T18_& t18)
{
a8::XValue args[] = {
a8::XValue(t0),
a8::XValue(t1),
a8::XValue(t2),
a8::XValue(t3),
a8::XValue(t4),
a8::XValue(t5),
a8::XValue(t6),
a8::XValue(t7),
a8::XValue(t8),
a8::XValue(t9),
a8::XValue(t10),
a8::XValue(t11),
a8::XValue(t12),
a8::XValue(t13),
a8::XValue(t14),
a8::XValue(t15),
a8::XValue(t16),
a8::XValue(t17),
a8::XValue(t18)};          
      return ExecScript(formatsql(queryStr, args, sizeof(args) / sizeof(a8::XValue)).c_str());
    }

    